/**
 * 管理员角色关联实体定义
 * @description 定义管理员与角色关联关系的数据结构和属性
 */
export interface SysAdminRole extends Record<string, unknown> {
  /** 关联ID */
  id: number;
  /** 管理员ID */
  admin_id: number;
  /** 角色ID */
  role_id: number;
  /** 创建时间 */
  time: number;
  /** 更新时间 */
  update_time: number;
  /** 是否删除 (0:未删除 1:已删除) */
  disabled: number;
}

/**
 * 创建管理员角色关联时的数据类型
 * @description 排除id字段的关联数据
 */
export type CreateSysAdminRoleDto = Omit<SysAdminRole, 'id'>;

/**
 * 更新管理员角色关联时的数据类型
 * @description 排除id和time字段的部分关联数据
 */
export type UpdateSysAdminRoleDto = Partial<Omit<SysAdminRole, 'id' | 'time'>>;

/**
 * 查询管理员角色关联时的数据类型
 * @description 用于查询条件的部分字段
 */
export type SysAdminRoleQueryDto = Partial<Pick<SysAdminRole, 'admin_id' | 'role_id' | 'disabled'>>;
